1 package uba.db.table;
2
3 import java.util.List;
4
5 import uba.db.column.Column;
6 import uba.db.table.io.TableReader;
7 import uba.db.table.io.TableReaderCreationException;
8
9 /***
10 * Representa una tabla:
11 * <ul>
12 * <li>Brinda la estructura de la tabla </i>
13 * <li>Permite acceder a los datos que contiene la tabla</li>
14 * </ul>
15 *
16 * @version $Revision: 1.3 $
17 */
18 public interface Table {
19 /***
20 * Retorna una instancia concreta de {@link TableReader}para acceder a la
21 * información de esta tabla.
22 *
23 * @return una instancia de {@link TableReader}.
24 */
25 TableReader reader() throws TableReaderCreationException;
26
27 /***
28 * Retorna el nombre de la tabla.s
29 */
30 String name();
31
32 /***
33 * Inserta una fila en la tabla.
34 *
35 * @param values
36 * valores a insertar.
37 *
38 * @throws IllegalArgumentException
39 * si values no se corresponde con la estructura de la tabla.
40 * (la cantidad de valores no es la misma que la cantidad de
41 * campos).
42 */
43 void insert(Object[] values) throws IllegalArgumentException,
44 InsertException;
45
46 /***
47 * Retorna las columnas que contiene esta tabla.
48 */
49 List columns();
50
51 /***
52 * Retorna la cantidad de columnas que posee esta tabla. <br>
53 * Es equivalente a: <i>columns().size() </i>
54 */
55 int numberOfColumns();
56
57 Column columnNamed(String columnName);
58
59 int indexOfColumnNamed(String columnName);
60 }